package busterminal.entity;

import busterminal.entity.service.PurposeType;

/**
 * Интерфейс "Автобус"
 */
public interface Bus extends AbstractEntity {

    /**
     * Получить модель автобуса
     * @return модель автобуса
     */
    public BusModel getBusModel();

    /**
     * Установить модель автобуса
     * @param busModel модель автобуса
     */
    public void setBusModel(BusModel busModel);

    /**
     * Получить назначение автобуса, определяемое константой из {@link PurposeType}
     * @return назначение автобуса, определяемое константой из {@link PurposeType}
     */
    public PurposeType getPurposeType();

    /**
     * Установить назначение автобуса, определяемое константой из {@link PurposeType}
     * @param purposeType назначение автобуса, определяемое константой из {@link PurposeType}
     */
    public void setPurposeType(PurposeType purposeType);

    /**
     * Получить год начала эксплуатации
     * @return год начала эксплуатации
     */
    public int getStartYearOfExploitation();

    /**
     * Установить год начала эксплуатации
     * @param startYearOfExploitation год начала эксплуатации
     */
    public void setStartYearOfExploitation(int startYearOfExploitation);

    /**
     * Получить государственный номер
     * @return государственный номер
     */
    public String getStateNumber();

    /**
     * Установить государственный номер
     * @param stateNumber государственный номер
     */
    public void setStateNumber(String stateNumber);
}
